package com.cantuaria.jsf.control;

import java.util.List;

import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;

import org.apache.log4j.Logger;

import com.cantuaria.jsf.control.support.GenericControl;
import com.cantuaria.jsf.dao.PessoaDao;
import com.cantuaria.jsf.entity.Pessoa;

/**
* @autor: Flávio CANTUÁRIA
*/

@SessionScoped
@ManagedBean(name = "pessoa")
public class ControlePessoa extends GenericControl<Pessoa> {

	private List<Pessoa> pessoas;
	
	public ControlePessoa() {
		log = Logger.getLogger(ControlePessoa.class);
	}
		
	public void salvar(){
		if(dao != null){
			salvar(instance.getNome() + " atualizado com sucesso!");
		}else{
			dao = new PessoaDao();
			salvar(instance.getNome() + " cadastrado com sucesso!");
		}
	}

	public String edit(){
		dao = new PessoaDao();
		instance = instanceForEdit("PessoaId");
		return "EDITAR";
		
	}
	
	public void deletar(){
		dao = new PessoaDao();
		deletar("PessoaId");
	}

	@Override
	public void limpar(){
		instance.setNome("");
		instance.setEndereco("");
		instance.setCpf("");
	}

	@Override
	public Pessoa createInstance() {
		return new Pessoa();
	}
	
	
	//Metodos de navegação ==========================================
	public String telaCadastro(){
		instance = new Pessoa();
		return "CADASTARPESSOA";
	}

	public String telaConsulta(){
		instance = new Pessoa();
		return "CONSULTARPESSOA";
	}
	//===============================================================	
	
	
	//GETTERS AND SETTERS===========================================
	public List<Pessoa> getPessoas() {
		pessoas = new PessoaDao().consultarTodos();
		return pessoas;
	}

	public void setPessoas(List<Pessoa> pessoas) {
		this.pessoas = pessoas;
	}
}
